import re
from urllib.parse import urlparse, unquote


def format_path(input_string):
    # 移除所有非法字符
    safe_string = re.sub(r'[<>:"/\\\t\n|?*]', '', input_string)

    # 替换空格为下划线
    safe_string = safe_string.replace(' ', '_')

    # 确保字符串不以点开头（这可能会导致文件系统忽略文件扩展名）
    if safe_string.startswith('.'):
        safe_string = '_' + safe_string[1:]

    # 确保路径不为空
    if not safe_string:
        raise ValueError("The input string cannot be empty or only contain illegal characters.")

    # 返回安全的文件路径
    return safe_string


def extract_filename_from_url(url):
    # 解析URL
    parsed_url = urlparse(url)
    # 获取路径部分并解码任何URL编码的字符
    path = unquote(parsed_url.path)
    # 使用正则表达式找到最后一个斜杠之后的所有内容
    filename = path.split('/')[-1]
    return filename


if __name__ == "__main__":
    result = format_path('#4878	__Anima_Flux_–_v1.0.7.json')
    print(result)
    pass